package cc.linker.steplink.crm.merchant.dao.acs;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface MerchantInfoDao {

    Map<String, Object> getMerchantInfo(Map<String, Object> param);

    Boolean addInfo(Map params);

    Boolean updateInfo(Map params);

    String getCustomerIdByAdminId(String adminId);

    Boolean submitAudit(Map params);

    Boolean ifSalerById(String id);

    List<Map<String, Object>> getSalerPromoterList(Map<String, Object> param);

    Long getTotalBackFee(@Param(value = "customerId") String customerId, @Param(value = "orgId") String orgId);

    Long getSonTotalBackFee(@Param(value = "pcustomerId") String pcustomerId, @Param(value = "customerId") String customerId, @Param(value = "orgId") String orgId);

    Long getUserTotalCash(@Param(value = "customerId") String customerId, @Param(value = "orgId") String orgId);

    Long getUserTotalFailCash(@Param(value = "customerId") String customerId, @Param(value = "orgId") String orgId);

    Map<String, Object> getXbWallet(String adminId);

    Map<String, Object> getDmWallet(String orgId);

    String getUserTypeByAdminId(String adminId);

    List<Map<String, Object>> getDmVerify();

    List<Map<String, Object>> getSalerVerify(String orgId);

    Map<String, Object> getVerifyInfo(String id);

    Map<String, Object> getVerifyInfoByCid(String customerId);

    void updateSalerStatus(Map<String, Object> temp);

    Boolean doVerify(Map<String, Object> params);

    Boolean doSalerVerify(Map<String, Object> params);

    Boolean getAutoCheckStatus();

    Boolean changeAutoCheckStatus(Map<String, Object> params);

    void addAutoCheckStatus();

    String getBusCert(Map<String, Object> params);

    Map<String, Object> getDetail(Map<String, Object> param);

    Map<String, Object> getInfoByCid(String customerId);

    Map<String, Object> getInfoByOid(String orgId);

    Boolean getPayStatus(String orgId);

    void saveInfo(Map<String, Object> params);

    void insertInfo(Map<String, Object> params);

    Integer exiseInfo(Map<String, Object> params);

    Map<String, Object> getTradeBaseInfo(Map<String, Object> param);

    Long getAmountByOrderSn(String orderSn);

    Map<String, Object> getSalerOrder(String orderSn);

    Map<String, Object> getGoodsOrder(String orderSn);

    String storeName(String orgId);

    String customerStoreName(@Param("orgId") String orgId, @Param("customerId") String customerId);

    Long getEveryMoney(@Param("orgId") String orgId, @Param("orderSn") String orderSn, @Param("type") Integer type ,@Param("userId") String userId,@Param("role") Integer role);

    Long getScoreMoney(@Param("orgId") String orgId, @Param("orderSn") String orderSn, @Param("type") int type);

    Map<String, Object> getMerchantInfoById(String id);

    String getPlatForm(String orgId);

    String getBankAccountName(String orgId);

    Integer getPayModeByOrgId(String orgId);

    void changeStatus(@Param("id") String id, @Param("status") String status);

    Map<String, Object> getEnrollOrder(String orderSn);

    String getOrderRebateByOrderSn(String orderSn);

    String getDongCustomerPhoneByCustomerId(String dongCustomerId);

    void promoterRetreat(Map<String, Object> param);

    void RetreatPromoterOrder(Map<String, Object> param);

    void RetreatPromoterCheck(Map<String, Object> param);

    void customerRetreat(Map<String, Object> param);

    List<Map<String, Object>> getsCustomerInfo(Map<String, Object> sp);

    Object getFeeBack(Map<String, Object> ssp);

    Object getFeeDeal(Map<String, Object> ssp);

    void resaveAgent(Map<String, Object> param);

    void addCustomPoster(Map<String, Object> params);

    void editCustomPoster(Map<String, Object> params);

    Integer getCustomPosterCount(Map<String, Object> params);

    void delCustomPoster(Map<String, Object> params);

    Map<String, Object> getFtpInfoByOrgId(String orgId);

    String getVerifyStatusById(String id);

    Map<String, Object> getVipOrder(@Param("orderSn") String orderSn);

    Map<String, Object> integralOrder(@Param("orderSn") String orderSn);

    Map<String, Object> getFromOrder(String orderSn);

    List<Map<String,Object>> getMerchantListByOrgId(@Param("orgId") String orgId);
}
